package com.java.basis.testthis;

/**
 * @author wangning
 * @create 2021-05-13 11:26
 */
class Person02{
	public void eat(Apple02 apple02){
		Apple02 peeled = apple02.getPeeled();
		System.out.println("Yummy");
	}
}
class Peeler02{
	static Apple02 peel(Apple02 apple02){
		//....remove peel
		return apple02;
	}
}
class Apple02{
	Apple02 getPeeled(){
		System.out.println(this.getClass().getName());
		return Peeler02.peel(this);//此处必须使用this，将自身传递过去，否则将不是同一个对象
		//例如：我给你一个苹果，然后你去削皮，你不能换一个苹果，必须削我给你的这个苹果，所有需要用this，
		//如果重新new一个，就不是我给你的那个苹果绿
	}
}
public class Test02 {
	public static void main(String args[]){
		new Person02().eat(new Apple02());
	}
}
